Finger Trees
نویسندگان
چکیده
We implement and prove correct 2-3 finger trees. Finger trees are a general purpose data structure, that can be used to efficiently implement other data structures, such as priority queues. Intuitively, a finger tree is an annotated sequence, where the annotations are elements of a monoid. Apart from operations to access the ends of the sequence, the main operation is to split the sequence at the point where a monotone predicate over the sum of the left part of the sequence becomes true for the first time. The implementation follows the paper of Hintze and Paterson[1]. The code generator can be used to get efficient, verified code.
منابع مشابه
Finger Search Trees
University of Aarhus 11.1 Finger Searching. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1 11.2 Dynamic Finger Search Trees . . . . . . . . . . . . . . . . . . . . . . . 11-2 11.3 Level Linked (2,4)-Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3 11.4 Randomized Finger Search Trees . . . . . . . . . . . . . . . . . . . 11-4 Treaps • Skip ...
متن کاملPROGRAM-ing Finger Trees in COQ
Finger Trees (Hinze and Paterson 2006) are a general purpose persistent data structure with good performance. Their genericity permits developing a wealth of structures like ordered sequences or interval trees on top of a single implementation. However, the type systems used by current functional languages do not guarantee the coherent parameterization and specialization of Finger Trees, let al...
متن کاملFinger Search on Balanced Search Trees
This thesis introduces the concept of a heterogeneous decomposition of a balanced search tree and apply it to the following problems: • How can finger search be implemented without changing the representation of a Red-Black Tree, such as introducing extra storage to the nodes? (Answer: Any degree-balanced search tree can support finger search without modification in its representation by mainta...
متن کاملFinger trees: a simple general-purpose data structure
We introduce 2-3 finger trees, a functional representation of persistent sequences supporting access to the ends in amortized constant time, and concatenation and splitting in time logarithmic in the size of the smaller piece. Representations achieving these bounds have appeared previously, but 2-3 finger trees are much simpler, as are the operations on them. Further, by defining the split oper...
متن کاملSimilarity Trees for Zinc Finger Protein Design
Zinc finger domains are protein structures first identified in the Xenopus transcription factor TFIIIA. A zinc finger is composed of 20 to 30 amino-acid residues. There are two residues at both extremities of the domain which are involved in the tetrahedral coordination of a zinc atom. It has been proposed that such a domain interacts with the DNA. Many classes of zinc fingers are characterized...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Archive of Formal Proofs
دوره 2010 شماره
صفحات -
تاریخ انتشار 2010